package com.dennytech.tac.utils;

import java.util.concurrent.TimeUnit;

public interface LockManager<K> {

	void lock(K key);

	void lockInterruptibly(K key) throws InterruptedException;

	boolean tryLock(K key);

	boolean tryLock(K key, long time, TimeUnit unit)
			throws InterruptedException;

	void unlock(K key);
}
